{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib as mpl\n",
    "\n",
    "from settings import settings\n",
    "for k in settings.keys():\n",
    "    print(\"Adding \" + k + \" to namespace\")\n",
    "    globals()[k] = settings[k]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "data_path_beta0 = \"path/to/beta0/\"\n",
    "data_path_beta0_25 = \"path/to/beta0_25/\"\n",
    "data_path_beta0_5 = \"path/to/beta0_5/\"\n",
    "data_path_beta0_75 = \"path/to/beta0_75/\"\n",
    "data_path_beta1 = \"path/to/beta1/\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "sorted_lbls = dict()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# load sortings\n",
    "sorted_lbls_beta0 = dict()\n",
    "sorted_lbls_beta0[\"gain_tp\"] = np.load(os.path.join(data_path_beta0, \"sorted_lbls_LRP_gain_tp.npy\"))\n",
    "sorted_lbls_beta0[\"area_norm\"] = np.load(os.path.join(data_path_beta0, \"sorted_lbls_area_norm.npy\"))\n",
    "sorted_lbls_beta0[\"absolute\"] = np.load(os.path.join(data_path_beta0, \"sorted_lbls_absolute.npy\"))\n",
    "sorted_lbls[\"sorted_lbls_beta0\"] = sorted_lbls_beta0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# load sortings\n",
    "sorted_lbls_beta0_25 = dict()\n",
    "sorted_lbls_beta0_25[\"gain_tp\"] = np.load(os.path.join(data_path_beta0_25, \"sorted_lbls_LRP_gain_tp.npy\"))\n",
    "sorted_lbls_beta0_25[\"area_norm\"] = np.load(os.path.join(data_path_beta0_25, \"sorted_lbls_area_norm.npy\"))\n",
    "sorted_lbls_beta0_25[\"absolute\"] = np.load(os.path.join(data_path_beta0_25, \"sorted_lbls_absolute.npy\"))\n",
    "sorted_lbls[\"sorted_lbls_beta0_25\"] = sorted_lbls_beta0_25"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# load sortings\n",
    "sorted_lbls_beta0_5 = dict()\n",
    "sorted_lbls_beta0_5[\"gain_tp\"] = np.load(os.path.join(data_path_beta0_5, \"sorted_lbls_LRP_gain_tp.npy\"))\n",
    "sorted_lbls_beta0_5[\"area_norm\"] = np.load(os.path.join(data_path_beta0_5, \"sorted_lbls_area_norm.npy\"))\n",
    "sorted_lbls_beta0_5[\"absolute\"] = np.load(os.path.join(data_path_beta0_5, \"sorted_lbls_absolute.npy\"))\n",
    "sorted_lbls[\"sorted_lbls_beta0_5\"] = sorted_lbls_beta0_5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# load sortings\n",
    "sorted_lbls_beta0_75 = dict()\n",
    "sorted_lbls_beta0_75[\"gain_tp\"] = np.load(os.path.join(data_path_beta0_75, \"sorted_lbls_LRP_gain_tp.npy\"))\n",
    "sorted_lbls_beta0_75[\"area_norm\"] = np.load(os.path.join(data_path_beta0_75, \"sorted_lbls_area_norm.npy\"))\n",
    "sorted_lbls_beta0_75[\"absolute\"] = np.load(os.path.join(data_path_beta0_75, \"sorted_lbls_absolute.npy\"))\n",
    "sorted_lbls[\"sorted_lbls_beta0_75\"] = sorted_lbls_beta0_75"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# load sortings\n",
    "sorted_lbls_beta1 = dict()\n",
    "sorted_lbls_beta1[\"gain_tp\"] = np.load(os.path.join(data_path_beta1, \"sorted_lbls_LRP_gain_tp.npy\"))\n",
    "sorted_lbls_beta1[\"area_norm\"] = np.load(os.path.join(data_path_beta1, \"sorted_lbls_area_norm.npy\"))\n",
    "sorted_lbls_beta1[\"absolute\"] = np.load(os.path.join(data_path_beta1, \"sorted_lbls_absolute.npy\"))\n",
    "sorted_lbls[\"sorted_lbls_beta1\"] = sorted_lbls_beta1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "metrics = [\"absolute\", \"area_norm\", \"gain_tp\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "top = 10"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "intersection_matrix = np.zeros(shape=(3, 5, 5))\n",
    "\n",
    "for m_idx, metric in enumerate(metrics):\n",
    "    for i_idx, i in enumerate(sorted_lbls.keys()):\n",
    "        for j_idx, j in enumerate(sorted_lbls.keys()):\n",
    "            intersect = set(sorted_lbls[i][metric][-top:]).intersection(sorted_lbls[j][metric][-top:])\n",
    "            intersection_matrix[m_idx, i_idx, j_idx] = (len(intersect)/top) * 100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "ticks = [0., 0.25, 0.5, 0.75, 1.]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "vmin = intersection_matrix.min()\n",
    "vmax = intersection_matrix.max()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x288 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(12, 4), sharey=True)\n",
    "fmt = '.2f'\n",
    "thresh = intersection_matrix.max() * 0.65\n",
    "\n",
    "# Absolute values\n",
    "mm = 0\n",
    "im = ax1.imshow(intersection_matrix[mm], interpolation='nearest', cmap='Reds', vmin=vmin, vmax=vmax)\n",
    "ax1.set(xticks=np.arange(intersection_matrix[mm].shape[1]),\n",
    "        yticks=np.arange(intersection_matrix[mm].shape[0]),\n",
    "        xticklabels=ticks, yticklabels=ticks,\n",
    "        title=\"Relevance sum\",\n",
    "        ylabel='Beta',\n",
    "        xlabel='Beta')\n",
    "# Rotate the tick labels and set their alignment.\n",
    "plt.setp(ax1.get_xticklabels(), rotation=45, ha=\"right\",\n",
    "         rotation_mode=\"anchor\")\n",
    "\n",
    "# Loop over data dimensions and create text annotations.\n",
    "for i in range(intersection_matrix[mm].shape[0]):\n",
    "    for j in range(intersection_matrix[mm].shape[1]):\n",
    "        ax1.text(j, i, format(intersection_matrix[mm][i, j], fmt),\n",
    "                ha=\"center\", va=\"center\",\n",
    "                color=\"white\" if intersection_matrix[mm][i, j] > thresh else \"black\")\n",
    "\n",
    "# Normalized values\n",
    "mm = 1\n",
    "im = ax2.imshow(intersection_matrix[mm], interpolation='nearest', cmap='Reds', vmin=vmin, vmax=vmax)\n",
    "ax2.set(xticks=np.arange(intersection_matrix[mm].shape[1]),\n",
    "        yticks=np.arange(intersection_matrix[mm].shape[0]),\n",
    "        xticklabels=ticks, yticklabels=ticks,\n",
    "        title=\"Relevance density\",\n",
    "        xlabel='Beta')\n",
    "# Rotate the tick labels and set their alignment.\n",
    "plt.setp(ax2.get_xticklabels(), rotation=45, ha=\"right\",\n",
    "         rotation_mode=\"anchor\")\n",
    "\n",
    "# Loop over data dimensions and create text annotations.\n",
    "for i in range(intersection_matrix[mm].shape[0]):\n",
    "    for j in range(intersection_matrix[mm].shape[1]):\n",
    "        ax2.text(j, i, format(intersection_matrix[mm][i, j], fmt),\n",
    "                ha=\"center\", va=\"center\",\n",
    "                color=\"white\" if intersection_matrix[mm][i, j] > thresh else \"black\")\n",
    "\n",
    "# Normalized values\n",
    "mm = 2\n",
    "im = ax3.imshow(intersection_matrix[mm], interpolation='nearest', cmap='Reds', vmin=vmin, vmax=vmax)\n",
    "ax3.set(xticks=np.arange(intersection_matrix[mm].shape[1]),\n",
    "        yticks=np.arange(intersection_matrix[mm].shape[0]),\n",
    "        xticklabels=ticks, yticklabels=ticks,\n",
    "        title=\"Gain of relevance\",\n",
    "        xlabel='Beta')\n",
    "# Rotate the tick labels and set their alignment.\n",
    "plt.setp(ax3.get_xticklabels(), rotation=45, ha=\"right\",\n",
    "         rotation_mode=\"anchor\")\n",
    "\n",
    "# Loop over data dimensions and create text annotations.\n",
    "for i in range(intersection_matrix[mm].shape[0]):\n",
    "    for j in range(intersection_matrix[mm].shape[1]):\n",
    "        ax3.text(j, i, format(intersection_matrix[mm][i, j], fmt),\n",
    "                ha=\"center\", va=\"center\",\n",
    "                color=\"white\" if intersection_matrix[mm][i, j] > thresh else \"black\")\n",
    "        \n",
    "fig.tight_layout()\n",
    "fig.subplots_adjust(right=1.05)\n",
    "cax,kw = mpl.colorbar.make_axes([ax1, ax2, ax3], pad=0.02)\n",
    "plt.colorbar(im, cax=cax, **kw)\n",
    "\n",
    "plt.show()\n",
    "fig.savefig(os.path.join(data_path, \"intersection_beta_top10_regions.pdf\"), bbox_inches='tight')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python (mort1)",
   "language": "python",
   "name": "mort1"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
